1. Field of the Invention
The present invention relates to a data flow process changing system particularly capable of relieving the process in a data flow processor and moreover to such a data flow process changing system which can change the constant in the data flow processor.
2. Description of the Related Art
When a data flow processor sequentially receives packets, the data flow processor executes its internally stored program. If a packet contains an operation command (addition, multiplication or the like), that packet is temporarily retained until another packet arithmetically corresponding to the first packet is read into the data flow processor. The operation can only be performed by the data flow processor when these packets make a pair.
The flow of data in the prior art process made by such a data flow processor will be described below.
FIG. 2 shows the functional arrangement of the data flow processor and FIG. 3 shows a packet 20 processed by the data flow processor.
As shown in FIG. 2, the data flow processor 10 comprises an input/output control section 11, a program storage section 12 in which a program executed by the data flow processor 10 has been stored, a queue section 13 functioning as an area in which when operation commands are provided by a pair of packets, the first read packet is temporarily retained until the corresponding packet is read into the data flow processor, and a processing section 14. As shown in FIG. 6, the data flow processor 10 may be connected to a data storage section 15 which receives the output of the queue section 13 and then provides its own output to the input/output control section 11. As shown in FIG. 8, the data storage section 15 comprises a constant table and data area 15a, 15b which have stored therein constants and data used in the process of the main program.
The data flow processor 10 responds to a destination number 23 and command 24 contained in the packet 20 to execute a program stored in the program storage section 12. The destination number 23 contains a number corresponding to an address in a program to be executed. Since one data flow processor 10 normally performs a single process, the destination number 23 in the inputted packet may be designated by any invariable number (e.g. zero).
The data flow processor 10 performs the process when it receives input data rows 1, 2, 3 . . . as shown in FIG. 4. The input data 21 is first provided to a tagging section 40 which in turn tags the input data 21 to form a packet 20. The tag 22 contains the destination number 23, the command 24 and generation identification data representing the generation of the input data 21.
The packet 20 prepared by the tagging section 40 is supplied to the input/output control section 11 of the data flow processor 10 before it is provided to the program storage section 12 wherein a command 24 to be next executed and a destination number 23 are given to the packet 20. If the command 24 contained in the packet 20 is an operation command shared by another packet 20, the first packet 20 waits for the other packet 20 in the queue section 13. When the other packet 20 which is the arithmetic companion to the first packet 20 is taken into the data flow processor, these two packets 20 make a pair which in turn is sent to the processing section 14 for executing the command. If the command 24 in the first packet 20 is not an operation command shared by the other packet 20, the first packet 20 passes by the queue section 13 and is provided directly to the processing section 14 wherein the command 24 thereof is executed. The packet 20 is updated by the result from the processing section 14. The updated packet 20 is then sent to the input/output control section 11 wherein it is outputted therefrom in accordance with the destination number 23 written by the program storage section 12 or again supplied to the program storage section 12 for re-operation.
In such a manner, the data flow processor 10 can execute a particular processing program.
The data flow processor 10 may change the process depending on the range of input data rows in the following manner:
FIG. 4 shows the relationship between the range of input data rows and the process. In such an example, the data flow processor 10 performs a process 1 to the first to fifth input data rows and a process 2 to the sixth to tenth input data rows. Similarly, the data flow processor 10 performs the process 1 to the eleventh to fifteenth input data rows and the process 2 to the sixteenth to twentieth input data rows. In such a manner, the processes 1 and 2 will be repeated over all the range of five successive input data rows.
In order to change the process in the data flow processor 10, the prior art counts the number of packets 20 inputted into the data flow processor 10 through the tagging section 40 and determines what range the counts is included in. Thus, the process 1 or 2 is executed. Since the prior art does not have any device for setting different destination numbers 23, the packet 20 is prepared with the same destination number to all the input data.
In other words, the process to be executed by the data flow processor 10 is modified so that the process 1 is executed if the counted number of packets 20 is within the range of one through five; the process 2 is executed if the counted number of packets 20 ranges between six and ten; the process 1 is executed if the counted number of packets 20 ranges between eleven and fifteen and so on. Each of the different processes is executed by switching the program to another program corresponding to that process.
Thus, the prior art has a problem in that the time required to execute the operation is prolonged since the number of packets inputted into the data flow processor is counted with the counted value being used to change the process.